import axios from 'axios';
import store from '../store'
import element, { MessageBox } from 'element-ui'


const service = axios.create({
    // process.env.NODE_ENV === 'development' 来判断是否开发环境
    baseURL: "http://localhost:8888",
    timeout: 3000
});

//前置拦截
service.interceptors.request.use(config => {
    const token = store.getters.token;
    if(token){
        config.headers['Authorization'] = token // 让每个请求携带自定义token 请根据实际情况自行修改
    }
        return config;
    },
    error => {
        console.log(error);
        return Promise.reject();
    }
);

//后置拦截
service.interceptors.response.use(res => {

        //根据自定义状态码来判断结果
        const code = res.data.code;
        //401表示登录过期
        if (code === 401) {
            MessageBox.alert(res.data.message,"登录过期",{
                confirmButtonText:"跳转登录界面",
                callback:action =>{
                    localStorage.removeItem('token')
                    localStorage.removeItem("menuList")
                    localStorage.removeItem('userInfo')
                    localStorage.removeItem("roles")
                    window.location.reload();
                }
            })
        }
        //200表示请求成功
        else if(code===200){
            return res.data;
        }
        //456表示该账号已经被停用了
        else if(code===456){
            MessageBox.alert(res.data.message)
        }
        //用户已存在
        else if(code===400){
            return res.data;
            //407表示账号或密码错误
        }else if(code ===407){
            MessageBox.alert("账号或密码错误")
        }
    },
    error => {
        return Promise.reject();
    }
);

export default service
